﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CourseUtils;
using System.Threading.Tasks;

namespace ConsoleApplicationSmalAndBigDivisors
{
    class Program
    {
        static int GetDecimalRankInt(int value)
        {
            int rank=0;
            int rest=value;
            while (rest>0)
            {
                rest=rest/10;
                rank++;
            }
            return rank;
        }
        static void Main(string[] args)
        {
            int enteredValue = CourseUtils.IOHelpers.ReadIntFromConsole("Введите натуральное число: ");
            int counter = 2;

            while (enteredValue<=0)
            {
                enteredValue = CourseUtils.IOHelpers.ReadIntFromConsole("Ошибка ввода. Введите натуральное число (положительное, целое, не ноль): ");
            }

            int smallDivisor = 1;
            int bigDivisor = enteredValue;

            while (counter < enteredValue-1)
            {
                if (enteredValue%counter==0)
                {
                    bigDivisor = counter;
                }

                if (enteredValue % (enteredValue-counter) == 0)
                {
                    smallDivisor = enteredValue - counter;
                }

                counter++;
            }

            if (smallDivisor == 1 && bigDivisor == enteredValue)
            {
                Console.WriteLine("Введенное число: {0} не имеет нетривиальных делителей", enteredValue);
            }
            else
                if (smallDivisor == bigDivisor)
                {
                    Console.WriteLine("Для введенного числа {0} : существует единственный нетривиальный делитель- это {1}", enteredValue, smallDivisor);
                }
                else
                 {
                Console.WriteLine("Для введенного числа {0} : наименьший делитель- это {1}, а наибольший делитель - это {2}", enteredValue, smallDivisor, bigDivisor);    
                 }
                        
            Console.ReadKey();

        }
    }
}


       

        //    int rest=enteredValue;
        //    int reverseValue = 0;

        //    while (rest > 0)
        //    {
        //        reverseValue=reverseValue*10 + rest%10;   
        //        rest=rest/10;
        //    }
            
        //    Console.WriteLine("Реверс введенного числа: {0}", reverseValue);
        //    Console.ReadKey();
        //}